/*
  曼哈顿距离的最大值
  题目描述
    在直角坐标系中的任意两点 A(x1, y1) 和点 B(x2, y2)，
    这两点的曼哈顿距离我们设定为：s = |x1 - x2| + |y1 - y2|，其中 |x1 - x2|表示 x1 - x2的绝对值，
    现给定任意 n 个坐标系中的点，找出其中任意两点中曼哈顿距离的最大值。

    提示：C++ 中使用 abs函数获得任意数的绝对值，例如：abs(x1 - x2)能够获得 x1-x2 的绝对值。
  输入描述
    第一行一个整数 n，表示点的个数。
    接下来 n 行，每行两个整数 x、y，表示一个点的横坐标和纵坐标。
  输出描述
    输出一个整数，表示曼哈顿距离的最大值。
  样例1
    输入
      3
      1 3
      2 2
      3 1
    输出
      4
  提示
    对于 100% 的数据，保证 1 <= n <= 10000, 0 <= x, y <= 10^9。
*/

#include <iostream>
#include <cmath>

using namespace std;

struct node {
	int x;
	int y;
} a[10005];

int main() {
    int n;
    int s = 0;
    int s1;

    cin >> n;
    for (int i = 0; i <= n - 1; i++) {
        cin >> a[i].x >> a[i].y;
    }

    // 遍历所有可能 1 对点(2个点)，求出这 2 点之间的曼哈顿距离，找出其中最大的曼哈顿距离
    //   第一个点下标 i 范围：0 ~ n-1
    //   第二个点下标 j 范围：i+1 ~ n-1
    for(int i = 0; i < n - 1; i++) {
        for (int j = i + 1; j < n - 1; j++) {
            s1 = abs(a[i].x - a[j].x) + abs(a[i].y - a[j].y);
            if (s < s1) {
                s = s1;
            }
        }
    }
    cout << s;

    return 0;
}